package com.xu.cloud.auth.service;

import com.xu.cloud.auth.pojo.bo.OAuth2UserInfo;
import com.xu.cloud.auth.pojo.domain.UserInfoDO;

/**
 * @author xuguan
 * @since 2025/2/27
 */
public interface OAuth2Service {

    /**
     * OAuth2授权获取第三方用户信息并查询系统用户信息
     */
    UserInfoDO queryUserInfoByOauth2(String thirdPartyType, String code);

    /**
     * OAuth2授权获取第三方用户信息
     */
    OAuth2UserInfo oauth2UserInfo(String thirdPartyType, String code);

    /**
     * 通过第三方用户信息查询系统用户信息
     */
    UserInfoDO queryUserInfoByOauth2User(OAuth2UserInfo oAuth2UserInfo);
}
